/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package bs.stock.modelo;

import java.io.Serializable;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 *
 * @author ctrosch
 */
@Entity
@Table(name = "st_tipo_producto")
public class TipoProducto implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Column(name="TIPPRO", length=6)
    private String tippro;

    @Column(name="DESCRP", length=60)
    private String descripcion;

    @Column(name="STOCKS",length=1)
    private String manejaStock;

    @OneToMany(mappedBy = "tipoProducto", fetch=FetchType.LAZY, cascade=CascadeType.ALL)
    private List<Rubro01> rubro01;
    
    @OneToMany(mappedBy = "tipoProducto", fetch=FetchType.LAZY, cascade=CascadeType.ALL)
    private List<Rubro02> rubro02;
    
    @OneToMany(mappedBy = "tipoProducto", fetch=FetchType.LAZY, cascade=CascadeType.ALL)
    private List<Rubro03> rubro03;

    /**
    @OneToMany(mappedBy = "tipoProducto", fetch=FetchType.LAZY, cascade=CascadeType.ALL)
    private List<Rubro> rubro02;
    * */

    public String getTippro() {
        return tippro;
    }

    public void setTippro(String tippro) {
        this.tippro = tippro;
    }

    public String getDescripcion() {
        return descripcion;
    }

    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    public String getManejaStock() {
        return manejaStock;
    }

    public void setManejaStock(String manejaStock) {
        this.manejaStock = manejaStock;
    }

    public List<Rubro01> getRubro01() {
        return rubro01;
    }

    public void setRubro01(List<Rubro01> rubro01) {
        this.rubro01 = rubro01;
    }

    public List<Rubro02> getRubro02() {
        return rubro02;
    }

    public void setRubro02(List<Rubro02> rubro02) {
        this.rubro02 = rubro02;
    }

    public List<Rubro03> getRubro03() {
        return rubro03;
    }

    public void setRubro03(List<Rubro03> rubro03) {
        this.rubro03 = rubro03;
    }
    
    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final TipoProducto other = (TipoProducto) obj;
        if ((this.tippro == null) ? (other.tippro != null) : !this.tippro.equals(other.tippro)) {
            return false;
        }
        return true;
    }

    @Override
    public int hashCode() {
        int hash = 5;
        return hash;
    }
    
    @Override
    public String toString() {
        return "tv.producto.modelo.TipoProducto[id=" + tippro + "]";
    }

}
